IoT物联网平台 | 您所在的位置:网站首页 › golang 规则引擎 sql › IoT物联网平台 |
产品推荐:阿里云物联网开发者工具(IoT Studio),立刻免费体验吧! 规则引擎SQL数据格式详解 前言[](#i0bcvd)设备接入IoT物联网平台后,最佳获取数据的方式就是通过规则引擎,先使用SQL表达式处理数据,再流转到DB,MQ,DataHub,FC等目的地。配置数据处理SQL时,我们需要了解每个topic对应的数据格式,才能写出正确的SQL表达式。 注意:请不要以控制台sql调试为准,除非你理解sql调试功能 1.自定义Topic当我们使用自定义Topic时,IoT物联网平台会透传Payload数据,这种情况结构体不会变。 因此,我们只需要按自定义Payload编写SQL即可。 2.物模型系统Topic(/sys/开头)对我们使用物模型传输数据时,数据会在云端做处理,变换成物模型JSON格式,这里需要注意每个Payload的不同。 通过该Topic获取设备上报的属性信息。 数据流转Topic: /sys/{productKey}/{deviceName}/thing/event/property/post 设备原始数据格式: { "id": 3536123, "version": "1.0", "method": "thing.event.property.post", "params":{ "Power":"on", "Position":{ "latitude":39.9, "longitude":116.38 } } }物模型数据格式:规则引擎SQL需要根据这个格式编写 { "productKey":"1234556554", "deviceName":"deviceName1234", "gmtCreate":1510799670074, "items":{ "Power":{ "value":"on", "time":1510799670074 }, "Position":{ "time":1510292697470, "value":{ "latitude":39.9, "longitude":116.38 } } } } 2.2 设备事件上报通过该topic获取设备上报的事件信息。数据流转Topic: /sys/{productKey}/{deviceName}/thing/event/(tsl.event.identifier}/post 设备原始数据格式: { "id": 3536123, "version": "1.0", "method": "thing.event.{tsl.event.identifier}.post", "params":{ "temperature":39.9, "humidity":87 } }物模型数据格式:规则引擎SQL需要根据这个格式编写 { "identifier":"{tsl.event.identifier}", "type":"info", "productKey":"X5eCzh6fEH7", "deviceName":"5gJtxDVeGAkaEztpisjX", "gmtCreate":1510799670074, "value":{ "temperature":39.9, "humidity":87 }, "time":1510799670074 } 2.3 设备服务异步调用响应通过该Topic可以获取,通过异步方式下发指令给设备,设备进行处理后返回的结果信息。如果下发指令过程中出现错误,也可以通过该Topic得到指令下发的错误信息。数据流转Topic: /sys/{productKey}/{deviceName}/thing/downlink/reply/message 设备原始数据格式: { "id": 3536123, "version": "1.0", "method": "thing.service.{tsl.service.identifier}", "params": { "Power":"on", "temperature":39.9 } }物模型数据格式:规则引擎SQL需要根据这个格式编写 { "gmtCreate":1510292739881, "productKey":"123xxxx554", "deviceName":"deviceName1234", "requestId":3536123, "code":200, "message":"success", "topic":"/sys/123xxxx554/deviceName1234/thing/service/{tsl.service.identifier}", "data":{ "status":"on" } } 3.设备本身变化 3.1 设备上下线状态通过该Topic获取设备的上下线状态。 数据流转Topic: /as/mqtt/status/{productKey}/{deviceName} 数据格式: { "status":"online|offline", "productKey":"12345565569", "deviceName":"deviceName1234", "time":"2018-08-31 15:32:28.205", "utcTime":"2018-08-31T07:32:28.205Z", "lastTime":"2018-08-31 15:32:28.195",//状态变更前最后一次通信时间 "utcLastTime":"2018-08-31T07:32:28.195Z", "clientIp":"123.123.123.123" } 3.2 设备生命周期变化通过该Topic获得设备创建、删除、禁用、启用等消息。 数据流转Topic: /sys/{productKey}/{deviceName}/thing/lifecycle 数据格式: { "action" : "可能枚举值 create|delete|enable|disable", "productKey" : "X5eCxxxxEH7", "deviceName" : "5gJtxDVeGAkaEztpisjX", "deviceSecret" : "设备密钥,仅在action为create时包含", "messageCreateTime": 1510292739881 } 4.附录IoT物联网平台官网文档:https://help.aliyun.com/document_detail/73736.html [](#80ifpi) |
CopyRight 2018-2019 实验室设备网 版权所有 |